package com.lp.biz.train.mapper;

import com.lp.biz.identity.model.entity.BizIdentity;
import com.lp.biz.train.model.entity.BizTrainClassMemberRel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lp.biz.train.model.query.ClassGraduationQuery;
import com.lp.biz.train.model.vo.ClassGraduationList;
import com.lp.biz.train.model.vo.ClassMemberList;
import com.lp.common.entity.CommonAll;

import java.util.List;

/**
 * BizTrainClassMemberRelMapper 接口
 * @program: backend
 * @author Ke.Song
 * @since 2024-05-02 10:45:20
 */
public interface BizTrainClassMemberRelMapper extends BaseMapper<BizTrainClassMemberRel> {

    /**
     * 批量插入班级-人员关系
     *
     * @param list 数据集
     */
    void insertBatch(List<BizTrainClassMemberRel> list);

    /**
     * 获取班级用户列表
     *
     * @param classId  班级id
     * @param nickName 用户名
     * @param phone 手机号
     * @return 查询结果
     */
    List<ClassMemberList> getClassMemberList(Integer classId, String nickName, String phone);

    /**
     * 获取指定人员在班级内的身份
     * @param classId 班级id
     * @param memberId 用户id
     * @return 查询结果
     */
    BizIdentity getIdentityByMember(Integer classId, Integer memberId);

    /**
     * 获取班级管理
     * @param classId 班级id
     * @param category 身份分类
     * @return 查询结果
     */
    List<CommonAll> getClassManage(Integer classId, String category);

    /**
     * 设置已毕业
     */
    void updateGraduation();

    /**
     * 获取结营证书列表
     * @param query 查询参数
     * @return 查询结果
     */
    List<ClassGraduationList> getGraduationList(ClassGraduationQuery query);
}
